package file;

import java.io.*;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 74646
 * Date: 2022-06-23
 * Time: 10:04
 */
public class Demo15 {
    public static void main(String[] args) {
        /**
         *  整个代码并没有显示的调用 close
         *  但是当代码执行完 try 语句块之后，就会自动调用 close
         *
         *  只有实现 Closeable 这个接口才可以，才可以放到 try() 中，
         *  所有的流对象都实现了 Closeable 接口，所以这里可以直接使用
         */

        System.out.println("按照字节进行读取：");
        try(InputStream inputStream = new FileInputStream("F:/文件读写测试/test.txt");) {
            while (true){
                byte[] b = new byte[1024];
                int len = inputStream.read(b);
                if(len == -1) break;
                for (int i = 0; i < len; i++) {
                    System.out.print(b[i]+" ");
                }
            }
        }catch (IOException e){
            e.printStackTrace();
        }

        System.out.println("\n按照字符进行读取：");
        try(Reader reader = new FileReader("F:/文件读写测试/test.txt");){
            while (true){
                char[] cbuf = new char[1024];
                int len = reader.read(cbuf);
                if(len == -1) break;
                for (int i = 0; i < len; i++) {
                    System.out.print(cbuf[i]+" ");
                }
            }
        }catch (IOException e){
            e.printStackTrace();
        }
    }
}
